package com.youlai.boot.factory.model.entity;

import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableName;
import com.youlai.boot.common.base.BaseEntity;

/**
 * 租户数据源配置实体对象
 *
 * @author youlaitech
 * @since 2025-11-22 08:31
 */
@Getter
@Setter
@TableName("sys_tenant_datasource")
public class SysTenantDatasource extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 租户ID（关联sys_tenant.id）
     */
    private Long tenantId;
    /**
     * 租户编码（冗余字段，方便查询）
     */
    private String tenantCode;
    /**
     * 数据源名称
     */
    private String datasourceName;
    /**
     * 数据源类型：MySQL、PostgreSQL等
     */
    private String datasourceType;
    /**
     * 驱动类名
     */
    private String driverClassName;
    /**
     * 数据库连接URL
     */
    private String url;
    /**
     * 数据库用户名
     */
    private String username;
    /**
     * 数据库密码（建议加密存储）
     */
    private String password;
    /**
     * 初始连接数
     */
    private Integer initialSize;
    /**
     * 最小空闲连接数
     */
    private Integer minIdle;
    /**
     * 最大活跃连接数
     */
    private Integer maxActive;
    /**
     * 最大等待时间(毫秒)
     */
    private Long maxWait;
    /**
     * 验证查询SQL
     */
    private String validationQuery;
    /**
     * 数据源状态：1-启用 0-禁用
     */
    private Integer status;
    /**
     * 是否主数据源：1-是 0-否（租户可能有多个数据源）
     */
    private Integer isPrimary;
    /**
     * 备注说明
     */
    private String remark;
    /**
     * 创建人ID
     */
    private Long createBy;
    /**
     * 更新人ID
     */
    private Long updateBy;
    /**
     * 逻辑删除(1-已删除 0-未删除)
     */
    private Integer isDeleted;
}
